package com.vegetable.modules.entity.stock.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="库存流水查询对象", description="库存流水查询对象")
public class StockFlowQueryPO implements Serializable {

    @ApiModelProperty(value = "商品名称")
    private String commodityNameLike;

    @ApiModelProperty(value = "商品编码")
    private String commonCodeLike;

    @ApiModelProperty(value = "单据编号")
    private String orderNoLike;

    @ApiModelProperty(value = "单据类型：0 代办交货入库 1 物流园采购入库 2 散货采购入库 4 销售退货入库 5 盘盈入库 6 其他入库 7 销售出库 8 盘损出库 9 采购退货出库 10 调拨出库 11 调拨入库 12 代销出库 13 其他出库")
    private List<Integer> orderTypeList;


    @ApiModelProperty(value = "仓库名称")
    private String warehouseNameLike;

    @ApiModelProperty(value = "查询开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date startTime;

    @ApiModelProperty(value = "查询结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date endTime;

    @ApiModelProperty(value = "订单时间")
//    @DateTimeFormat(pattern = "yyyy-MM-dd")
//    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private String orderTime;

    @ApiModelProperty(value = "库存批次编码-模糊查询")
    private String stockBatchNoLike;

    @ApiModelProperty(value = "库存批次编码")
    private String stockBatchNo;

    @ApiModelProperty(value = "当前页码")
    private Integer current = 1;


    @ApiModelProperty(value = "每页显示记录数")
    private Integer size = 10;

    @ApiModelProperty(value = "商品id集合")
    private List<Long> commodityIds;

    @ApiModelProperty(value = "排序字段")
    private String orderBy;

    @ApiModelProperty(value = "往来方")
    private String agentNameLike;

    @ApiModelProperty(value = "往来方")
    private String category;

    @ApiModelProperty(value = "商品分类ID")
    private Long categoryId;

    private BigDecimal standard;

    private String agentName;

    private String targetName;

    private String tags;
}
